home *** CD-ROM | disk | FTP | other *** search
/ 10,000 Great Games / 10,000 Great Games.iso / Product / 66 / data1.cab / Source_Files / Src / Template.h < prev    next >
C/C++ Source or Header  |  2000-01-16  |  577b  |  48 lines

  1. template <class T>
  2. void swap2(T &v1, T &v2)
  3. {
  4.     T tmp = v2;
  5.     v2 = v1;
  6.     v1 = tmp;
  7. }
  8.  
  9. template <class T>
  10. void sort2(T &v1, T &v2)
  11. {
  12.     if (v2 < v1)
  13.         swap2(v1, v2);
  14. }
  15.  
  16. template <class T>
  17. void limit_upperbound(T &v, T upper)
  18. {
  19.     if (v > upper)
  20.         v = upper;
  21. }
  22.  
  23. template <class T>
  24. void limit_lowerbound(T &v, T lower)
  25. {
  26.     if (v < lower)
  27.         v = lower;
  28. }
  29.  
  30. template <class T>
  31. void safe_delete(T **p)
  32. {
  33.     if (*p != 0)
  34.     {
  35.         delete *p;
  36.         *p = 0;
  37.     }
  38. }
  39.  
  40. template <class T>
  41. void safe_release(T **p)
  42. {
  43.     if (*p != 0)
  44.     {
  45.         (*p)->Release();
  46.         *p = 0;
  47.     }
  48. }